Mapas

Casos por municipio

Mapa por estados y zonas

Mortalidad por municipio

Filtrar datos por comorbilidades

Función por enfermedad:

Minimos cuadrados

##
## Call:
## glm(formula = SOBREVIVENCIA ~ EDAD + NEUMONIA + OBESIDAD + DIABETES +
##     EPOC + RENAL_CRONICA + ASMA + INMUSUPR + TABAQUISMO + HIPERTENSION,
##     family = binomial(link = "logit"), data = coFrame)
##
## Deviance Residuals:
##     Min       1Q   Median       3Q      Max
## -3.6150   0.1064   0.1064   0.1828   2.0638
##
## Coefficients:
##                Estimate Std. Error  z value Pr(>|z|)
## (Intercept)    7.345354   0.013122  559.762  < 2e-16 ***
## EDAD          -1.087374   0.003970 -273.926  < 2e-16 ***
## NEUMONIA      -2.793186   0.005794 -482.117  < 2e-16 ***
## OBESIDAD      -0.226378   0.007242  -31.259  < 2e-16 ***
## DIABETES      -0.373791   0.006644  -56.259  < 2e-16 ***
## EPOC          -0.156497   0.015043  -10.403  < 2e-16 ***
## RENAL_CRONICA -0.791623   0.012914  -61.298  < 2e-16 ***
## ASMA           0.274700   0.020482   13.412  < 2e-16 ***
## INMUSUPR      -0.395059   0.019050  -20.738  < 2e-16 ***
## TABAQUISMO     0.076592   0.010483    7.306 2.75e-13 ***
## HIPERTENSION  -0.262474   0.006541  -40.126  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
##     Null deviance: 1513318  on 3964161  degrees of freedom
## Residual deviance:  937797  on 3964151  degrees of freedom
## AIC: 937819
##
## Number of Fisher Scoring iterations: 7

A continuación podemos ver que todas las variable a excepción de la diabetes son significativas por lo que procederemos a interpretar dichos coeficientes

Prueba de Significancia

H0: El modelo no es significativo (B =B2=B3=…=Bk) Ha: El modelo si es significativo

Estadistico de prueba

## [1] 575521.2

Valor P del estadistico de Prueba

Valor \(\alpha\) = 0.05

## [1] "Valor P"
## [1] 0

Conclusión

Como alpha es mayor al valor P,se rechaza H0 por Ha ya que podemos deducir que al menos una de las variables de nuestro modelo pueden explicar los datos.

Interpretación de Coeficientes

Podemos observar que hay una alta relación entre padecer obesidad y morir si se enferma de covid teniendo 67% mas de probabilidad, ademas se observo que los paciente que padecen de Neumonia poseen 2.8% mas de probabilidad.

Anteriormente descartamos Diabetes debido debido a que no se encontro una relación significante que pudieran explicar las muertes.

##   (Intercept)          EDAD      NEUMONIA      OBESIDAD      DIABETES
##  1.548983e+03  3.371007e-01  6.122587e-02  7.974166e-01  6.881209e-01
##          EPOC RENAL_CRONICA          ASMA      INMUSUPR    TABAQUISMO
##  8.551343e-01  4.531086e-01  1.316136e+00  6.736406e-01  1.079601e+00
##  HIPERTENSION
##  7.691462e-01

Clasificación de observaciones

## [1] 0.968654

Gráficas

Interpretación de Coeficientes en comorbilidades con Gráfico barplot

Podemos observar que el modelo muestra una gran correlación entre bajas tasas de supervivencia y las enfermedades de neumonia, renal cronica y diabetes. Por otro lado podemos ver una correlación positiva con el asma ya que presentan altas tasas de supervivencia.

Otro de los aspectos que cabe destacar es que el modelo encontro una fuerte correlación entre la edad y la mortalidad, es decir mayor edad representa mas probabilidades de morir si se padece de la enfermedad.

##   (Intercept)          EDAD      NEUMONIA      OBESIDAD      DIABETES
##  1.548983e+03  3.371007e-01  6.122587e-02  7.974166e-01  6.881209e-01
##          EPOC RENAL_CRONICA          ASMA      INMUSUPR    TABAQUISMO
##  8.551343e-01  4.531086e-01  1.316136e+00  6.736406e-01  1.079601e+00
##  HIPERTENSION
##  7.691462e-01

Tasa de mortalidad por comorbilidad con Gráfico Pie

# Pie porcentajes de comorbilidades

# obtener la cantidad de pacientes vivos y muertos por comorbilidad
comobiditiesList <- c('OBESIDAD', 'DIABETES', 'NEUMONIA', 'TABAQUISMO')
numIndividuals <- length(coFrame$SOBREVIVENCIA)
labs <- c('Muertos', 'Vivos')
color <- brewer.pal(3, name = "Paired")
deadsPerComorbidity <- sapply(comobiditiesList, function(co){
  deadsPerComorb <- coFrame[[co]][coFrame$SOBREVIVENCIA == 0 & coFrame[[co]] == 1]
  return(length(deadsPerComorb))
  })
alivePerComorbidity <- sapply(comobiditiesList, function(co){
  alivePerComorb <- coFrame[[co]][coFrame$SOBREVIVENCIA == 1 & coFrame[[co]] == 1]
  return(length(alivePerComorb))
  })

# funcion para calcular el porcentaje de vivos y muertos por comorbilidad
percentageCalculator <- function(x, aliveOrDeadVector){
  percentage <- round((aliveOrDeadVector[x]/(deadsPerComorbidity[x]+alivePerComorbidity[x]))*100, 2)
  return(percentage)
}
# Calculo de porcentajes para las etiquetas
deadsPercentages <- percentageCalculator(1:4, deadsPerComorbidity)
alivePercentages <- percentageCalculator(1:4, alivePerComorbidity)
#Componer los identificadores con porcentaje
labs <-c(deadsPercentages,alivePercentages)
labs <- paste(labs,"%",sep="")
labs <- sapply(1:4, function(x){
  labsMatrix <- labs[seq(x,length(labs),4)]
  return(labsMatrix)
  })

# graficos pie con la tasa de mortalidad por comorbilidad
# graficos de obesidad,diabetes, neumonia y tabaquismo
layout(matrix(c(1,2,3,4), nrow=2, byrow=TRUE))

pie(c(deadsPerComorbidity[1], alivePerComorbidity[1]), labels =labs[,1], main = 'Mortalidad por obesidad', col = color, radius =1)
pie(c(deadsPerComorbidity[2], alivePerComorbidity[2]), labels = labs[,2], main = 'Mortalidad por diabetes', col = color, radius = 1)
pie(c(deadsPerComorbidity[3], alivePerComorbidity[3]), labels = labs[,3], main = 'Mortalidad por neumonia', col = color, radius = 1)
pie(c(deadsPerComorbidity[4], alivePerComorbidity[4]), labels = labs[,4], main = 'Mortalidad por tabaquismo', col = color, radius = 1)
legend('bottomright', c('Muertos','Vivos'),fill=color, bty = 'n')

# obtener el porcentaje de vivos y muertos con asma,hipertension, enfermedad renal cronica e inmunosupresion
comobiditiesList <- c('ASMA', 'HIPERTENSION', 'RENAL_CRONICA', 'INMUSUPR')
numIndividuals <- length(coFrame$SOBREVIVENCIA)
labs <- c('Muertos', 'Vivos')
color <- brewer.pal(3, name = "Paired")
deadsPerComorbidity <- sapply(comobiditiesList, function(co){
  deadsPerComorb <- coFrame[[co]][coFrame$SOBREVIVENCIA == 0 & coFrame[[co]] == 1]
  return(length(deadsPerComorb))
  })
alivePerComorbidity <- sapply(comobiditiesList, function(co){
  alivePerComorb <- coFrame[[co]][coFrame$SOBREVIVENCIA == 1 & coFrame[[co]] == 1]
  return(length(alivePerComorb))
  })
percentageCalculator <- function(x, aliveOrDeadVector){
  percentage <- round((aliveOrDeadVector[x]/(deadsPerComorbidity[x]+alivePerComorbidity[x]))*100, 2)
  return(percentage)
}
# Calculo de porcentajes para las etiquetas
deadsPercentages <- percentageCalculator(1:4, deadsPerComorbidity)
alivePercentages <- percentageCalculator(1:4, alivePerComorbidity)
#Componer los identificadores con porcentaje
labs <-c(deadsPercentages,alivePercentages)
labs <- paste(labs,"%",sep="")
labs <- sapply(1:4, function(x){
  labsMatrix <- labs[seq(x,length(labs),4)]
  return(labsMatrix)
  })
layout(matrix(c(1,2,3,4), nrow=2, byrow=TRUE))

# graficos con tasa de mortalidad para asma,hipertension, enfermedad renal cronica e inmunosupresion
pie(c(deadsPerComorbidity[1], alivePerComorbidity[1]), labels =labs[,1], main = 'Mortalidad por asma', col = color, radius =1)
pie(c(deadsPerComorbidity[2], alivePerComorbidity[2]), labels = labs[,2], main = 'Mortalidad por hipertensión', col = color, radius = 1)
pie(c(deadsPerComorbidity[3], alivePerComorbidity[3]), labels = labs[,3], main = 'Mortalidad por enfermedad renal crónica', col = color, radius = 1)
pie(c(deadsPerComorbidity[4], alivePerComorbidity[4]), labels = labs[,4], main = 'Mortalidad por inmunosupresión', col = color, radius = 1)
legend('bottomright', c('Muertos','Vivos'),fill=color, bty = 'n')

Los graficos pie reflejan que efectivamente podemos ver una gran mortalidad en los pacientes que padecen neumonia, enfermedad renal crónica y diabetes, por otro lado el modelo también predijo correctamente la baja mortalidad en pacientes con asma.